package models

import (
	"time"

	"gorm.io/gorm"
)

// ClaimRecord Claim记录模型
type ClaimRecord struct {
	gorm.Model
	UserAddress string    `gorm:"index;size:42;not null" json:"userAddress"` // 用户地址
	Amount      int64     `gorm:"not null" json:"amount"`                   // 领取数量
	ClaimTime   time.Time `gorm:"not null" json:"claimTime"`                // 领取时间
	Hash        string    `gorm:"size:66" json:"hash"`                      // 交易哈希
}

// TableName 指定表名
func (ClaimRecord) TableName() string {
	return "claim_records"
}

// ClaimResponse Claim响应结构
type ClaimResponse struct {
	Amount    int64     `json:"amount"`    // 领取数量
	ClaimTime time.Time `json:"claimTime"` // 领取时间
	Hash      string    `json:"hash"`      // 交易哈希
}

// CheckInRecord 用户Check-In记录
type CheckInRecord struct {
	gorm.Model
	UserAddress string    `gorm:"index;size:42;not null" json:"userAddress"` // 用户地址
	CheckInTime time.Time `gorm:"not null" json:"checkInTime"`              // Check-In时间
	Hash        string    `gorm:"size:66" json:"hash"`                      // 交易哈希
}

// TableName 指定表名
func (CheckInRecord) TableName() string {
	return "check_in_records"
} 